Method and system for exchanging routing data between end users

ABSTRACT

A method and system that provides end users with the ability to exchange routing data. A route recorder application on a first computing system provides a first end user with the ability to define a route formed of specific road segments and store data that represent the route in a data file. The data file is distributed to a second end user who uses the data that represent the route in a second computing system to provide guidance for following the route.

REFERENCE TO RELATED APPLICATION

The present application is related to the copending application entitled“METHOD AND SYSTEM FOR PROVIDING RELATED NAVIGATION SERVICES FOR TWO ORMORE USERS”, filed on even date herewith, the entire disclosure of whichis incorporated by reference herein.

BACKGROUND OF THE INVENTION

The present invention relates to computer-based systems that providenavigation-related features and more particularly the present inventionrelates to providing a means that enables end users of computer-basedsystems that provide navigation-related features to exchange data thatdefine routes.

Navigation systems are available that provide end users (such as driversand passengers of the vehicles in which the in-vehicle navigationsystems are installed) with various navigation-related functions andfeatures. For example, some navigation systems are able to determine anoptimum route to travel by roads between locations in a geographicregion. Using input from the end user, and optionally from equipmentthat can determine one's physical location (such as a GPS system), anavigation system can examine various routes between two locations anddetermine an optimum route to travel from a starting location to adestination location in a geographic region. The navigation system maythen provide the end user with information about the optimum route inthe form of guidance that identifies the driving maneuvers required tobe taken by the end user to travel from the starting location to thedestination location. The guidance may take the form of visual and/oraudio instructions that are provided along the way as the end user istraveling the route. Some navigation systems are able to show detailedmaps on computer displays outlining routes to destinations, the types ofmaneuvers to be taken at various locations along the routes, locationsof certain types of features, and so on.

In order to provide these and other navigating functions, navigationsystems use geographic data. The geographic data may be in the form ofone or more databases that include data that represent physical featuresin a geographic region. The geographic database may include datarepresenting the roads and intersections in a geographic region and alsomay include information relating to the represented roads andintersections in the geographic region, such as turn restrictions atintersections, speed limits along the roads, street names of the variousroads, address ranges along the roads, and so on.

Although navigation systems provide many important features, therecontinues to be room for new features or other improvements. One area inwhich there is room for improvement relates to providing a way for endusers to exchange routing data. As an example, a first person may know aparticular route that he/she would like to share with another person.The first person may know that the particular route is faster or saferthan other routes and the first person may want to share thisinformation with one or more other persons. As an example, a businessmay want to provide customers with routing information to avoid aconstruction site. As another example, a business may want deliverytrucks to follow a route to a particular entrance gate to avoid a schoolcrossing. There are numerous other examples.

A person can provide written or oral directions for following aparticular route to a destination. However, there are disadvantagesassociated with written or oral directions. One important considerationis that the person to whom the written or oral directions is given maybe using a navigation system that is providing driving directions to thedestination. These driving directions may be different from the oral orwritten driving directions for following the particular route. In thesecircumstances, it would be useful if the directions for following theparticular route could be provided in a manner such that the navigationsystem of the person receiving the directions could incorporate thedirections and provide directions for following the route.

SUMMARY OF THE INVENTION

To address these and other objectives, the present invention comprises amethod and system that provides end users with the ability to exchangerouting data. A route recorder application on a first computing systemprovides a first end user with the ability to define a route formed ofspecific road segments and store data that represent the route in a datafile. The data file is distributed to a second end user who uses thedata that represent the route in a second computing system to provideguidance for following the route.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating categories of component systems thatform alternative embodiments of the present invention.

FIG. 2 is a flowchart showing the steps performed by the route recorderin FIG. 1.

FIG. 3 is a flowchart showing the steps performed by the in-vehicleroute recorder application in FIG. 1.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS I.Embodiment with Navigation Services Provider

A. Overview

FIG. 1 shows an overall system 90 that enables end users to exchangedata about routes with other end users. In general, there are three mainfunctions involved in enabling end users to exchange data about routeswith other end users. First, end users (i.e., “end user/recorders”) areprovided with a means to define routes and store data that define theroutes. Second, the end users who defined the routes are provided with ameans to distribute the data that define the routes. Third, other endusers (i.e., “end user/recipients”) are provided with a means to use thedata that define the routes. There are various means by which each ofthese three main functions can be accomplished.

Referring to FIG. 1, three categories are shown. FIG. 1 shows acollection systems category 100, a distribution systems category 104 anda utilization systems category 108. Each of these categories relates toone of the main functions mentioned above. Within each category areshown various alternative embodiments of systems that can be used toaccomplish the function associated with the category. In general, anysystem in one category can be used with any system from either of theother categories.

B. Collection Systems

Included in the collection systems category 100 are a web-based routedata collection system 112, a vehicle-driven route data collectionsystem 116, and a standalone route data collection system 120. Each ofthese systems may be used by an end user/recorder (also referred to as a“first end user”) to record and store data that define a route.Referring first to the web-based route data collection system 112, thissystem includes a client system 124. The client system 124 includes anytype of device that can connect to the Internet 128. The client system124 includes appropriate hardware and software that enables the enduser/recorder using the client system 124 to connect to the Internet128. As examples, the client system 124 can be a personal computer, aterminal, an Internet appliance, a web-enabled phone, a personal digitalassistant (PDA), etc. The web-based system 112 also includes a serversystem 132. The server system 132 is accessed over the Internet 128 bythe client system 124. The server system 132 includes a route recorderapplication 136. When the end user/recorder uses the client system 124to access the server system 132 over the Internet 128, the routerecorder application 136 allows the end user/recorder to define andstore a route.

FIG. 2 shows the steps in a process performed by the route recorderapplication 136. A user/recorder 140 provides data 144 indicating anorigin and destination to the route recorder application 136. Theuser/recorder 140 uses the client system 124 to access the routerecorder application 136 which is located over the Internet 128 on theserver system 132. As an example, the route recorder application 136 maypresent the user/recorder 140 with a menu and blank data fields intowhich the user/recorder can enter information that defines an origin anda destination. Alternatively, the route recorder application 136 mayprovide the user/recorder 140 with a graphical map on the display screenof the client system 124. The map can be panned and zoomed in order toallow the user/recorder 140 to identify geographic locations for theorigin and destination by pointing-and-clicking locations on the mapbeing displayed.

The route recorder application 136 receives the data 144 indicating anorigin and destination from the user/recorder 140 (Step 148). Using thedata 144 input by the user/recorder 140, the route recorder application136 determines a route (Step 152). In the embodiment of FIG. 2, theroute recorder application 136 calls a route calculation application 156and provides the data 144 defining the origin and destination to theroute calculation application 156. The route calculation application 156may use any known means to determine a route between the origin anddestination. Examples of methods that the route calculation application156 can use to determine a route are described in the copending patentapplication Ser. No. 09/047,698, filed Mar. 25, 1998, the entiredisclosure of which is incorporated by reference herein.

When the route calculation application 156 determines a solution route,it uses a geographic database 160. The geographic database 160 includesdata about the geographic features in a covered area, including dataabout the roadway network in the covered geographic area. In oneembodiment, the geographic database 160 includes node data records andsegment data records. Node data records represent physical locations inthe geographic area (such as roadway intersections and other positions)and segment data records represent portions of roadways between thephysical locations represented by nodes. Each road segment in thegeographic region is represented by a road segment data entity (i.e., arecord) in the geographic database 160. Each road segment data record inthe geographic database 160 has two nodes which represent the coordinatepositions at each end of the road segment represented by the roadsegment data record. The data records include information that can beused during route calculation, such as turn restrictions, vehicleaccess, restricted driving conditions, etc. (The terms “nodes” and“segments” represent only one terminology for describing these physicalgeographic features and other terminology for these feature is intendedto be encompassed within the scope of these concepts.

When calculating a solution route, the route calculation application 156determines a plurality of road segments that form a continuous pathbetween the origin and destination. The solution route conforms to knowntraffic restrictions. The solution route may also be optimized forcertain criteria, e.g., least travel time, shortest distance, and so on.

After the route calculation application 156 determines a solution route,the route recorder application provides 136 a means by which theuser/recorder 140 can review and change the route (Step 164). There areseveral ways that the route recorder application 136 can provide theroute to the user/recorder 140 for review.

One way that the route recorder application 136 can provide the route tothe user/recorder 140 for review is to display the route graphically onthe display of the client system 124 that the user/recorder 140 is usingto operate the route recorder application 136. When the routeinformation is displayed graphically to the user/recorder 140, the pathof the route may be highlighted on a map displayed graphically on theclient system 124. The route recorder application 136 uses a map displayapplication 168 for this purpose. The map display application 136 usesdata from the geographic database 160. There are various ways fordisplaying map data graphically. Examples of methods that the mapdisplay application 168 can use are described in U.S. Pat. No. 6,092,076and copending patent application Ser. No. 09/092,625, filed Jun. 5,1998, the entire disclosures of which are incorporated by referenceherein.

Another way that the route recorder application 136 can provide theroute to the user/recorder 140 for review is to provide theuser/recorder with a list of maneuvering instructions for following theroute calculated by the route calculation application 156. The routerecorder application 136 uses a route guidance application 172 for thispurpose. The route guidance application 172 uses data from thegeographic database 160. The maneuvering instructions provided by theroute guidance application 172 include text that describes the route andin particular describes all the maneuvers required to follow the route.Examples of methods that the route guidance application 172 can use aredescribed in copending patent application Ser. No. 08/893,201, filedJul. 15, 1997, the entire disclosure of which is incorporated byreference herein.

When the route recorder application 136 provides data indicating theroute to the user/recorder 140, it provides sufficient information sothat the user/recorder can review each segment that forms the solutionroute. As part of this step, the route recorder application 136 alsoprovides the user/recorder 140 with a means to select and change anyportion of the route. As an example, if the solution route indicated aleft turn at a particular intersection, the user/recorder 140, whenreviewing the route, can change the route to a right turn.

In response to the review by the user/recorder 140, the route recorderapplication 136 receives the user/recorder's input (Step 176). Theuser/recorder's input may be to accept the route provided in Step 164.Alternatively, the user/recorder's input may include changes to theroute based on the user/recorder's review.

If the user/recorder has made a change to the route, the change mayaffect several other road segments in the solution route. Accordingly,if the user/recorder 140 has made a change to the route, the routerecorder application 136 obtains a new solution route that includes thechange made by the user/recorder. First, the route recorder application136 determines whether the user/recorder 140 has proposed a change tothe route (Step 180). If the user/recorder 140 has proposed a change,the route recorder application loops back to the portion of the processat which the route to the destination is calculated (i.e., Step 152) andhas a new route calculated (Step 182). When calculating a new route, theroute calculation application 156 is constrained to use the changeproposed by the user/recorder 140. When the new solution route isdetermined, it is provided to the user/recorder again for review, asdescribed above. Thus, the user/recorder 140 can make iterative changesuntil the route is the exactly the way the user/recorder wants it.

If the user/recorder 140 has no more changes to the route (Step 180),the route recorder application 136 saves a data file 184 that definesthe route determined by the user/recorder 140 (Step 188). The routerecorder application 136 then ends (Step 192).

Referring again to FIG. 1, there are other systems, shown in thecategory of collection systems 100, that can be used to collect andrecord a route. These other systems operate similarly to the web-basedsystem 112, described above. The standalone system 120 uses a computingsystem 200. The computing system 200 can be a personal computer, aterminal, an Internet appliance, a web-enabled phone, a PDA, a network,etc. A route recorder application 204 is locally on the computing system200. The route recorder application 204 may include similar or identicalsteps as the route recorder application 136 described in FIG. 2. As inthe embodiment described in FIG. 2, a user/recorder 140 uses the routerecorder application 204 run on the computing system 200 to determine aroute and save a data file that defines the route.

Another of the collection systems 100 is the vehicle-driven system 116.The vehicle-driven system 116 operates with a navigation system 208which is located in a vehicle 212 of the user/recorder. The navigationsystem 208 is a combination of hardware and software components.Included among the software components of the navigation system 208 isan in-vehicle route recorder application 216. The in-vehicle routerecorder application 216 is similar to the route recorder applications136 and 204, described previously. The in-vehicle route recorderapplication 216 allows the user/recorder to determine and save data thatdefine a route. The in-vehicle route recorder application 216 includesthe additional function that it is able to record data about a routebeing driven by the vehicle 212.

FIG. 3 is a flowchart that shows the steps performed in one embodimentof the in-vehicle route recorder application 216. The in-vehicle routerecorder application 216 is used while the vehicle 212 is being drivenalong roads (214 in FIG. 1) in a geographic area (218 in FIG. 1). InFIG. 3, the in-vehicle route recorder application 216 receives input 220from the user/recorder 140 to start recording data that defines a route(Step 224). The input from the user/recorder 140 may be received throughthe user interface of the navigation system 208. When the in-vehicleroute recorder application 216 receives the indication to startrecording a route, a call is made to a vehicle positioning application228 to obtain data that identifies the current position of the vehicle212 (Step 232). The vehicle positioning application 228 may be part ofthe software applications included in the vehicle navigation system 208.The vehicle positioning application 228 uses data from a geographicdatabase 236 when performing this function. The geographic database 236may be similar or identical to the geographic database 160, describedabove. Examples of methods that the vehicle positioning application 228can use to determine the position of the vehicle are described incopending patent applications Ser. No. 09/276,377, filed Mar. 25, 1999,Ser. No. 09/680,162, filed Oct. 5, 2000, and Ser. No. 09/680,161, filedOct. 5, 2000, the entire disclosures of which are incorporated byreference herein.

In one embodiment, the vehicle positioning application 228 provides datathat identify the road segment upon which the vehicle 212 is located,the position of the vehicle along the identified road segment, and thedirection of travel of the vehicle along the identified road segment.The route recorder application 216 captures the data indicating the roadsegment upon which the vehicle is located (and optionally dataindicating the vehicle position and direction) and saves the data in adata file 240 (Step 244). Newly received data are appended to previouslyreceived data so that the file 240 includes data that identify each roadsegment upon which the vehicle 212 traveled.

If the route recorder application 216 does not receive data indicatingthat route recording has stopped (Step 248), the process loops back tothe step in which the vehicle position is obtained. In this manner, dataindicating the vehicle position are obtained continuously as the vehicleis being driven. These data are obtained by the route recorderapplication 216 relatively frequently, e.g., every second, so that eachroad segment upon which the vehicle travels is identified and dataindicating the road segment are stored in the data file 240.

Eventually, the route recorder application 216 receives data indicatingthat route recording should stop (Step 248). The data indicating thatroute recording should stop may be an indication from the user/recorder140. The indication from the user/recorder may be made via a userinterface of the navigation system 208. Alternatively, the dataindicating that route recording should stop may be an indication thatthe vehicle has been turned off. This indication may be received from acontroller associated with the vehicle ignition.

When the route recorder application 216 receives data indicating thatroute recording should stop, the temporary data file 240 is stored as a(relatively) permanent data file 252 (Step 254). The route recorderapplication 216 ends (Step 258).

C. Distribution Systems

Referring again to FIG. 1, after the user/recorder uses one of thecollection systems 100 to define and store data defining a route, thedata are distributed to other users. There are various systems that canbe used for distributing the data that define routes. Some of thesesystems are indicated among the distribution systems 104 in FIG. 1.

One of the distribution systems 104 is a media-based system 264. Themedia-based system 262 uses physical media 266 to distribute the datadefining a route that had been stored using one of the collectionsystems 100. The media may be CD-ROM disks, DVD disks, floppy disks,memory cards, EPROMs, tape, hard disks, or other kinds of media.According to this embodiment, the data defining a route that had beendefined and saved using one of the collection systems 100 (184 in FIG. 2or 252 in FIG. 3) are stored in one or more data files on the media 266.The media 266 are distributed to end user/recipients by any means. Themedia may be physically delivered by mail, hand-delivered, etc. Themedia used for distribution are selected so that they are compatiblewith the systems that the end user/recipients use to receive routecalculation and guidance features. As an example, if an enduser/recipient intends to use the data defining a route in a navigationsystem 268 installed in a vehicle 269, the media used for distributionshould be compatible with the navigation system 268. The media arecompatible if the end user/recipient can use the medium directly inhis/her navigation system or if the end user has the means to convert orotherwise transfer the data defining a route from the medium used fordistribution into the navigation system 268.

Another of the distribution systems 104 is a web-based system 270. Thewebbased system 270 includes a client system 274 and a server system278. The client system 124 includes any type of device that can connectto the Internet 128, such as a personal computer, a terminal, anInternet appliance, a web-enabled phone, a PDA, etc. The server system278 is accessed over the Internet 128 by the client system 274. Theserver system 274 includes a route distribution application 282. When asecond user uses the client system 274 to access the server system 278over the Internet 128, the route distribution application 282 allows theend user to download data that define a route. The data that the routedistribution application 282 allows end user/recipients to downloadinclude the data defining routes that had been defined and saved usingone of the collection systems 100.

Another of the distribution systems 104 is a wireless-based system 290.The wireless-based system 290 includes a wireless data transmitter 292.The wireless data transmitter 292 includes a communications systemcapable of transmitting data wirelessly. Such systems include thosecapable of relatively long-range data transmission, such as cellular,PCS, etc., as well as systems capable of relatively short-range datatransmission, such as infrared, Bluetooth® systems, etc. Each enduser/recipient has a receiver. The receiver is capable of receiving thedata transmissions from the wireless data transmitter 292. The receivermay be part of a navigation system 298 installed in the enduser/recipient's vehicle 300. Alternatively, the receiver may be part ofa portable computing device 302, such as a PDA (e.g., a PalmPilot®-typedevice). The wireless data transmitter 292 transmits the data thatdefine a route that had been saved using one of the collection systems100 (184 in FIG. 2 or 252 in FIG. 3) to the end user/recipient'sreceiver. The end user/recipient's system receives the route data thathad been transmitted and saves the data in a local data storage.

D. Utilization Systems

Referring still to FIG. 1, after an end user/recipient uses one of thedistribution systems 104 to receive the data that define a route, theend user uses the data in a system that provides information forfollowing the route. There are various systems that can be used toprovide the end user/recipient with information for following the routethat had been defined by an end user/recorder using one of thecollections systems 100. Some of these systems are indicated among theutilization systems 108 in FIG. 1.

One of the utilization systems 108 is a vehicle navigation system 306.The vehicle navigation system 306 is installed in an enduser/recipient's vehicle 310. The vehicle navigation system 306 may besimilar or identical to the vehicle navigation system 208, describedabove, although the vehicle navigation system 306 in the enduser/recipient's vehicle does not need to have the route recordercapability. The end user/recipient's navigation system 306 includeshardware and software for receiving the data that define a route (usingany of the collection systems 100 and distribution systems 104) andusing the data that define a route to provide the end user/recipientwith information for following the route. If the data that define aroute were provided on media (such as media 266), the enduser/recipient's navigation system 306 includes a drive or slot capableof receiving the media and accessing and reading the data stored thereonthat define a route. The drive or slot may be in addition to the driveor slot used by the end user/recipient's navigation system 306 for ageographic database. Alternatively, the geographic data base used by theuser/recipient's navigation system 306 may be temporarily removed fromits drive or slot, the media 266 containing the data that define a routeinstalled in the drive or slot normally used for the geographicdatabase, and then the data that define a route copied from the media266 onto a data storage medium in the navigation system 306.

Once the end user/recipient's navigation system 306 has the data thatdefine a route, the end user/recipient's navigation system 306 uses thedata that define a route to provide route calculation and guidance.These functions can be provided by routines included in the routecalculation and guidance applications included in the enduser/recipient's navigation system. In many cases, the data that definea route will define only a portion of the entire route needed by the enduser/recipient. As an example, the route defined by the data may relateto the road segments that a business wants delivery trucks to use totravel to the site of the business in order to avoid a school crossing.This defined route may represent only the last 2 miles before reachingthe site of the business. The delivery trucks would still need to reachthe beginning of the defined route. Accordingly, the route calculationprogram used by the end user/recipient's navigation system includes thecapability to read the data file containing the defined route, calculatea route to the beginning of the defined route, and then incorporate thedefined route into an entire solution route for the end user/recipientto follow to reach the destination. Once the route calculation functionin the end user/recipient's navigation system incorporates the definedroute into a solution route, route guidance for following the definedroute can be provided in the same manner as any other route for whichguidance is provided by the end user/recipient's navigation system.

Another of the systems included among the utilization systems 108 is aPDA 320 that provides route guidance functions. The PDA 320 may becarried by a person located in a vehicle 322. The PDA 320 includessoftware applications that use geographic data to provide routinginstructions. The software applications in the PDA 320 may be similar oridentical to those in the navigation system 306. The PDA may alsoinclude positioning equipment (such as a GPS system) that determines thelocation of the PDA 320. The navigation applications in the PDA 320 usethe received data that define a route to provide guidance for followingthe defined route. The navigation applications in the PDA 320 may alsoinclude the capability to incorporate the defined route into an overallroute, as described above in connection with the navigation system 306.

Another one of the utilization systems 108 is the vehicle navigationsystem 298 that obtains data that define a route wirelessly. Thisnavigation system 330 was described in connection with thewireless-based distribution system 290. This navigation system 298 isinstalled in the vehicle 300. This navigation system 298 includes thehardware and software needed to receive data from the wirelessdistribution system 290. After the navigation system 298 receives thedata that define a route from the transmitter 292 of the wireless-basedsystem 290, the navigation system 298 uses the data to provideinformation for the end user/recipient to follow the route, similar tothe navigation system 306, described above.

E. Data Compatibility

The end user/recipient systems (e.g., navigation systems 298 and 306 andPDA 320) in the utilization category 108 include the capability to readand use the data that define a route. There are several different waysthat the end user/recipient's navigation system can use to provide thiscapability.

In one alternative embodiment, the segments in the defined route areidentified by ID's that are assigned by the geographic databasedeveloper. As an example, in geographic databases developed byNavigation Technologies Corporation of Rosemont, Ill., ID's are assignedto the data records that represent individual road segments. These ID'scan be used in the route recorder applications (e.g., 126, 204 and 216in FIG. 1) used by the end user/recorders to define routes. Then, whenthe defined routes are used by the end user/recipient systems, the routecalculation application in the end user/recipient systems use the ID'sto identify the road segments that form the defined route.

Under some circumstances, ID numbers assigned to road segments maychange. As an example, ID numbers assigned to road segments may changein different versions of the geographic database. According to oneembodiment, translation tables are used to translate ID numbers assignedto road segments from one version to another version.

According to another embodiment, the individual road segments that formthe defined route are identified in terms of their coordinates (i.e.,latitude and longitude). Each road segment can be identified by itscoordinates (i.e., the latitude and longitude of its end points).According to this alternative, the route recorder application (126, 216,or 204 in FIG. 1) stores data that identify the coordinates (i.e.,latitude and longitude of the end points) of each road segment in thedefined route. Then, the end user/recipient's navigation system uses thedata that identify the coordinates of the road segments to identify theactual road segments in the defined route.

According to another alternative embodiment, the road segments that formthe defined route are identified by street names, directions anddistances. According to this alternative, the route recorder application(126, 216, or 204 in FIG. 1) stores data that identify the defined routeusing the names of the streets (e.g., “HIGGINS”, “MANNEHEIM”, etc.), thedirection along each street (e.g., “NORTH”, “WEST”, etc.) and distance(e.g., “TRAVEL 3 MILES”). In the end user/recipient's system, theserecorded data are used to identify the actual route segments that makeup the defined route. These actual road segments are identified usingthe database in the user/recipient's system. After the actual roadsegments that form the defined route are identified in terms of thedatabase in the end user/recipient's system, route guidance forfollowing the defined route is determined by the end user/recipient'ssystem and provided to the end user/recipient.

EXAMPLE

One example of how the ability to exchange route data can be used isdescribed in the following example.

Two persons located some distance apart want to meet at a location thatis convenient for both of them. Navigation systems that find convenientplaces for two persons to meet are disclosed in the copending patentapplication entitled “METHOD AND SYSTEM FOR PROVIDING RELATED NAVIGATIONSERVICES FOR TWO OR MORE USERS”, Attorney Docket No. N0075US. In some ofthe embodiments, this determination is made by finding places of aspecified type that would take approximately the same driving time forboth persons to reach. In some of the embodiments disclosed in thiscopending patent application, after a location that is convenient forboth persons is selected, guidance for traveling to the selectedlocation is provided to both persons. A consideration related to thisfeature is that determination of a convenient meeting place for bothpersons (i.e., taking into account the locations of both persons) isperformed on one navigation system, but the guidance for traveling tothe selected meeting place may be provided by two navigation systems,one associated with each person. Accordingly, in these embodiments,there is a need for the one navigation system that determines theconvenient meeting place to transmit data that defines the route to theother navigation system to provide guidance for one of the persons toreach the selected destination. Embodiments in the present applicationprovide this capability.

According to this example, after a place for two persons to meet isdetermined using one navigation system, data that identify the route forthe other person to travel to reach the selected destination aretransmitted to the other person so that the other person can use thedata in his/her navigation system in order to follow the route.

It is intended that the foregoing detailed description be regarded asillustrative rather than limiting and that it is understood that thefollowing claims including all equivalents are intended to define thescope of the invention.

We claim:
 1. A method of providing end users with the ability toexchange routing data, the method comprising: providing a route recorderapplication on a first computing system, wherein the route recorderapplication provides a first end user with the ability to define a routeformed of specific road segments and store data that represent each ofthe specific road segments comprising the route in a data file;distributing the data file to a second end user, wherein the second enduser is different than the first end user; and using the data thatrepresent the route in a second computing system to provide the secondend user with guidance for following the route.
 2. The method of claim 1wherein the step of distributing includes providing a physical mediumwith the data file stored thereon to the second end user.
 3. The methodof claim 1 wherein the step of distributing includes transferring thedata file wireless to the second computing system of the second enduser.
 4. The method of claim 1 wherein the route recorder application islocated on a server that the first end user accesses over a network. 5.The method of claim 4 wherein the network includes the Internet.
 6. Themethod of claim 1 further comprising: with the route recorderapplication, providing the first end user with data defining a trialroute; and accepting input from the first end user that changes thetrial route, wherein the data that represent the route that are storedin the data file by the route recorder application include data thatrepresent the trial route as changed in accordance with the input fromthe first end user.
 7. The method of claim 1 further comprising:determining a position of a vehicle in which the first user istraveling; identifying road segments upon which the vehicle istraveling; and using the identified road segments to define the routethat is stored in the data file by the route recorder application. 8.The method of claim 1 wherein said first computing system is astandalone system.
 9. The method of claim 1 wherein the data thatrepresent the route in the data file include ID's of data records thatrepresent the road segments that form the route.
 10. The method of claim1 wherein the data that represent the route in the data file includegeographic coordinates of the road segments that form the route.
 11. Themethod of claim 1 wherein the data that represent the route in the datafile include street names of the road segments that form the route. 12.The method of claim 11 wherein the data that represent the route in thedata file include directions and distances along roads that form theroute.
 13. The method of claim 1 wherein the route leads to adestination at which the first user and the second user plan to meet.14. The method of claim 1 further comprising: on the first computingplatform, determining a convenient place for the first user and thesecond user to meet taking into account current locations of the firstuser and the second user, wherein an origin of the route is the currentlocation of the second user and a destination of the route is theconvenient place for the first user and the second user to meet.
 15. Themethod of claim 1 wherein the second computing system is a vehiclenavigation system.
 16. The method of claim 1 wherein the secondcomputing system provides the second end user with guidance for reachingan origin of the route.
 17. The method of claim 1 wherein the secondcomputing system incorporates the route provided from the first userinto another route.
 18. A method of providing end users with an abilityto exchange routing data, the method comprising: using a positioningsystem to determine positions of a first end user as the first end usertravels along a route formed of road segments; using the positions ofthe first end user to determine the route traveled by the first enduser; storing data that indicate the route traveled by the first enduser in a data file; and using the data that represent the route on acomputing system to provide a second end user with guidance forfollowing the route.
 19. The method of claim 18 further comprising:after the step of storing, distributing the data file to the second enduser.
 20. A method of providing end users with an ability to exchangerouting data, the method comprising: a first user with a first computingsystem, defining a route formed of specific road segments and storingdata that represent the route comprising the specific road segments in adata file; distributing the data file to a second computing system; withthe second computing system, using the data that represent the route toformulate guidance for following the route; and with the secondcomputing system, providing the guidance to follow the route to a secondend user, wherein the second end user is different than the first enduser.